#ifdef HAVE_CONFIG_H
#  include <config.h>
#endif

#include <gtk/gtk.h>

#include "callbacks.h"
#include "interface.h"
#include "support.h"

#include "sae/gestion_patients.h"
#include "sae/gestion_personnels.h"
#include "sae/personnel.h"
#include "sae/patient.h"
#include "sae/alertes.h"
#include "sae/dessiner.h"
#include "string.h"
#include "sae/cryptage.h"

#define NMAX 100

void
on_btn_recherche_alertes_clicked       (GtkWidget       *fenetre,
                                        gpointer         user_data)
{

// definition des objects a utilisee	
	GtkWidget *maliste;
	GtkWidget *nb_infra;

	// Associer les objects avec leur nom dans la fenetre
	maliste = lookup_widget(fenetre,"liste_alertes");	
	nb_infra = lookup_widget(fenetre,"nb_infra");

	// definition des variables
	personnel_db Personnels[NMAX];
	parcours_db Parcours[NMAX];
	patient_db Patients[NMAX];
	personnel_infecte infractions[NMAX];

	int nbre_des_capteurs;
	int nbre_des_personnels;
	int nbre_des_patients;
	int nbre_des_infractions;
	
	int i;
	char nbre[10];

	// extraire les personnels et les capteurs
	extraire_personnels(Personnels, &nbre_des_personnels);
	extraire_parcours(Parcours, &nbre_des_capteurs);
	extraire_patients(Patients, &nbre_des_patients);
	
	// Associer le parcours de chaque personnel
	associer_parcours_personnels(Personnels, nbre_des_personnels);
	
	// decouvrir les personnels infectee
	decouvrir_personnel_infecte_gtk(Personnels, &nbre_des_personnels, Patients, &nbre_des_patients, Parcours, nbre_des_capteurs, infractions, &nbre_des_infractions);
	
	// effacer le contenue de la liste dans le cas ou l'utilistaeur a clicker plusieurs fois sur le button
	gtk_clist_clear(GTK_CLIST(maliste));

	// Ajout	
	for ( i = 0; i < nbre_des_infractions; i++)
	{
		gchar *ligne[4] = {infractions[i].nom,infractions[i].prenom,infractions[i].capteur,infractions[i].desc};
		gtk_clist_append(GTK_CLIST(maliste),ligne);
	}
	// coversion d'un entier a un string
	sprintf(nbre, "%d", nbre_des_infractions);
	// changer la valeur du nombre des infractions
	gtk_label_set_text(GTK_LABEL(nb_infra),nbre);
}


void
on_btn_transformer_alertes_clicked     (GtkWidget       *fenetre,
                                        gpointer         user_data)
{
	// i de personnel kifech njibha mi tableau ??

	/*GtkWidget *nb_infra;

	// Associer les objects avec leur nom dans la fenetre
	nb_infra = lookup_widget(fenetre,"nb_infra");

	// definition des variables
	personnel_db Personnels[NMAX];
	parcours_db Parcours[NMAX];
	patient_db Patients[NMAX];
	personnel_infecte infractions[NMAX];

	int nbre_des_capteurs;
	int nbre_des_personnels;
	int nbre_des_patients;
	int nbre_des_infractions;
	
	int i;
	char nbre[10];
	int x;

	// extraire les personnels et les capteurs
	extraire_personnels(Personnels, &nbre_des_personnels);
	extraire_parcours(Parcours, &nbre_des_capteurs);
	extraire_patients(Patients, &nbre_des_patients);
	
	nbre_des_infractions = atoi(gtk_labes_get_text(GTK_LABEl(nb_infra)));
	x = nbre_des_infractions;

	// effacer le contenue de la liste dans le cas ou l'utilistaeur a clicker plusieurs fois sur le button
	gtk_clist_clear(GTK_CLIST(maliste));

	// Ajout	
	for ( i = 0; i < nbre_des_infractions; i++)
	{
		                personnel_vers_patient(personnel[i],patient,nbre_patients);
                        supprimer_personnel(personnel,personnel[i].id,nbre_personnels);
                        exporter_patients(patient, *nbre_patients);
						x--;

	}
	// coversion d'un entier a un string
	sprintf(nbre, "%d", x);
	// changer la valeur du nombre des infractions
	gtk_label_set_text(GTK_LABEL(nb_infra),nbre);*/

}
